iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
1

1.Auto Scaling是什麼?

Auto Scaling可以有助於隨時確保有適當的 Amazon EC2 執行個體我們可用下方的圖形進行說明,這是三張利用CloudWatch來測量的一週內每天 EC2 資源要求,從圖中可得知週二需求量最大,週三需求量最小,可能是因為週二使用者使用較多,那這邊就有三種不同的分配方法。

  1. 如圖甲,分配超量的EC2容量,這樣就可以確保隨時都滿足最高的需求時段,這樣固然是萬無一失,但在大部分時間都會出現使用率過低的情況,雖然在使用者可以很順暢的使用,但成本相對來說較高。
  2. 如圖乙,分配較少的EC2容量,把成本降低,但在週二及周四會造成容量不足,這樣可能會造成應用程式效率不佳,甚至會造成使用者在使用時造成逾時的現象。
  3. 如圖丙,因為CloudWatch本身只是負責監控,無法新增或移除EC2執行個體,這時就可以利用Auto Scaling 。Auto Scaling 在這種效能需求波動的環境中特別實用,不但可以維持效能,也可以把成本降至最低。

https://ithelp.ithome.com.tw/upload/images/20200904/20127667cucvi5oNdl.png

Auto Scaling符合兩項AWS關鍵的特性:可擴展性及自動化。
可擴展性有分擴展跟縮減,擴展是Auto Scaling在使用率上升的時候增加更多執行個體,縮減則是終止執行個體。

如果要自動調整規模需具備三大要件:

  1. 建立啟動組態
  2. 建立 Auto Scaling 群組
  3. 定義Auto Scaling 政策
    接下將為大家一一說明:

啟動組態就是要定義Auto Scaling要啟動的項目,可以說是有關此EC2的所有項目,例如前面有介紹的AMI、執行個體的類型或是安全群組等。

Auto Scaling群組是要定義部署的位置,也就是要定義要在哪一個VPC部署執行個體以變與負載平衡器互動。另外還可以定義上限及下限,設定最高及最低的執行個體數量。

Auto Scaling 政策是要指定何時啟動或終止 EC2 執行個體,可以指定一個時間或者條件來新增或移除 EC2 執行個體。最佳的範例是至少建立一個 Auto Scaling 政策來指定何時進行擴展,並至少建立一個政策來指定何時縮減。

2.實際動手做 - Auto Scaling實作

Step.1 在主控台中點選EC2
https://ithelp.ithome.com.tw/upload/images/20200904/201276679aWnUiO4Ke.png

Step.2 按下左方選單下方的「Auto Scaling」
https://ithelp.ithome.com.tw/upload/images/20200904/201276671HabQp5oLA.png

Step.3 此頁面可得知目前並沒有任何的Auto Scaling群組,所以請選擇「建立Auto Scaling群組」。
https://ithelp.ithome.com.tw/upload/images/20200904/20127667WuKbeGZSvr.png

Step.4 這裡不是要用啟動範本,而是啟動組態,所以先選擇「轉換至啟動組態」,然後要建立一個新的,所以要選擇「建立啟動組態」。
https://ithelp.ithome.com.tw/upload/images/20200904/201276677zXvaBFtRx.png

Step.5 接下來要開始建立啟動組態,先命名,再來要選擇AMI,可以直接輸入AMI ID(ami-010954cbfd082429),執行個體類型要選擇m4.large,再來下面都不用改,直到最後一個項目金鑰對要選擇現有金鑰對,並選擇先前的demo-EC2金鑰對,這樣就可以直接建立
https://ithelp.ithome.com.tw/upload/images/20200904/20127667NdsWUCtv0a.png

Step.6 再來就可以回到Step.4的畫面輸入群組的畫面並選擇剛剛建立的啟動組態
https://ithelp.ithome.com.tw/upload/images/20200904/20127667fm9m1jYZvZ.png

Step.7 接下來要設定網路,這邊VPC會直接輸路,僅需選擇一個子網路即可,選完之後即可按下「下一步」
https://ithelp.ithome.com.tw/upload/images/20200904/20127667llpmCPVT35.png

Step.8 步驟三要設定進階選項,在這裡都先不用設定,可以直接按「下一步」
https://ithelp.ithome.com.tw/upload/images/20200904/20127667Z27QXhxNeN.png

Step.9 接下來上方所需容量改成2,然後設定在兩個到八個執行個體之間進行擴展,下方擴展政策平均 CPU 使用率設定為 60%。仔細看我們選擇的是目標追蹤的擴展政策,目標追蹤就是會自動擴展及縮減,當然也可以建立個別的擴展政策和縮減政策。完成後按下「下一步」。
https://ithelp.ithome.com.tw/upload/images/20200904/201276678XYJmldeSS.png

Step.10 接下來可以設定通知,以及下一步的標籤,通知就是當啟動或終止群組中的EC2執行個體時,就會通知,那這邊兩項就不多做設定,直接按「下一步」兩次。
https://ithelp.ithome.com.tw/upload/images/20200904/20127667qdE4ROmDkA.png

Step.11 最後一步就是檢閱,稍微檢查一下,沒問題即可按下「建立Auto Scaling」。
https://ithelp.ithome.com.tw/upload/images/20200904/20127667F2KTXoMl2T.png

3.考前重點大補帖

⦁ Auto Scaling 有助於確保您有適當數量的 Amazon EC2 執行個體

⦁ 擴展 – 新增執行個體
縮減 – 終止執行個體

⦁ 自動調整規模需具備的三大要件:

  1. 建立啟動組態
  2. 建立 Auto Scaling 群組
  3. 至少定義一個 Auto Scaling 政策(最佳情況為兩個)

⦁ 以條件為基礎的政策能讓您的 Auto Scaling 動態調整,且能夠滿足波動的需求

⦁ CloudWatch 本身並不會新增或移除 EC2 執行個體

⦁ 正常來說,當超過效能閾值時,CloudWatch 警示會觸發 Auto Scaling 事件,然後擴展或縮減環境中的 EC2
執行個體。

⦁ Auto Scaling 符合兩個關鍵的 AWS 最佳實務:

  1. 讓環境可擴展
  2. 自動化

4.經典歷屆試題

單選題

  1. 下列何者技術可以讓計算能力隨著負載的變化而調整?
    A. Load balancing
    B. Automatic failover
    C. Round robin
    D. Auto Scaling
    正解:D

《詳解》
此題的A選項為陷阱,要注意Load balancing與Auto Scaling雖然都是分配工作負載,但Load balancing只會在現有的實例分配工作負載,並不會新增或減少實例的個數,而Auto Scaling就正好相反。


上一篇
Day9:Application Load Balancer
下一篇
Day11:Amazon Route 53
系列文
三十天考過AWS CCP證照,真awsome(重新報名版)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言